Optimal Polynomial-Time Interprocedural Register Allocation for High-Level Synthesis Using SSA Form

نویسندگان

  • Philip Brisk
  • Ajay K. Verma
  • Paolo Ienne
چکیده

An optimal, polynomial-time algorithm for interprocedural register allocation in high-level synthesis and ASIP design is presented. The algorithm determines the minimum number of registers required to store all scalar variables in an application without spilling any to memory. Although an optimal polynomialtime algorithm has been presented in the past for individual procedures in Static Single Assignment (SSA) Form, this is the first such claim for the interprocedural analogue of the problem, which considers interferences across procedure calls. A new extension of SSA Form is introduced, and an example illustrates that this new representation can reduce the number of registers required for an optimal allocation. A secondary aspect of the optimal algorithm is that it is scalable: there is no need to build a complete interprocedural interference graph and each procedure can be colored individually. Our experiments show that the optimal algorithm runs more than 100× faster than a previously published scalable sub-optimal heuristic for the same problem.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Static Single Assignment Form and the Dominance Relation

A procedure is defined to be strict if every variable is defined before it is used along every path of program execution. A regular program is a strict procedure in Static Single Assignment (SSA) Form. Recently, it has been proven that the interference graph for regular program is a chordal graph. This yielded an optimal polynomial-time algorithm for register allocation for high-level synthesis...

متن کامل

Interconnect Optimization for High-Level Synthesis of SSA-Form Programs

Register Allocation for Programs in Static Single Assignment (SSA) Form has a Polynomial-Time Solution because interference graphs for procedures in this representation are chordal graphs. This paper explores a complementary problem which is NPComplete: the assignment of registers to variables in order to minimize interconnect costs. In particular, we attempt to minimize the size of the multipl...

متن کامل

Optimal register allocation for SSA-form programs in polynomial time

This paper gives a constructive proof that the register allocation problem for a uniform register set is solvable in polynomial time for SSA-form programs.  2006 Elsevier B.V. All rights reserved.

متن کامل

Register Allocation After Classical SSA Elimination is NP-Complete

Chaitin proved that register allocation is equivalent to graph coloring and hence NP-complete. Recently, Bouchez, Brisk, and Hack have proved independently that the interference graph of a program in static single assignment (SSA) form is chordal and therefore colorable in linear time. Can we use the result of Bouchez et al. to do register allocation in polynomial time by first transforming the...

متن کامل

Register allocation for programs in SSA form

As register allocation is one of the most important phases in optimizing compilers, much work has been done to improve its quality and speed. We present a novel register allocation architecture for programs in SSA-form which simplifies register allocation significantly. We investigate certain properties of SSA-programs and their interference graphs, showing that they belong to the class of chor...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007